Wireless communication systems and networks are used in connection with many applications, including, for example, satellite communications systems, portable digital assistants (PDAs), laptop computers, and cellular telephones. One significant benefit that users of such applications obtain is the ability to connect to a network (e.g., the Internet) as long as the user is within range of such a wireless communication system.
Current wireless communication systems use either, or a combination of, circuit switching and packet switching in order to provide mobile data services to a mobile node. A mobile node can be a cell phone, a PDA, a Blackberry, a laptop computer with a wireless card, or any other wireless device. Generally speaking, with circuit-based approaches, wireless data is carried by a dedicated (and uninterrupted) connection between the sender and recipient of data using a physical switching path. Once the direct connection is set-up, it is maintained for as long as the sender and receiver have data to exchange. The establishment of such a direct and dedicated switching path results in a fixed share of network resources being tied up until the connection is closed. When the physical connection between the sender and the receiver is no longer desired, it is tom-down and the network resources are allocated to other users as necessary.
Packet-based approaches, on the other hand, do not permanently assign transmission resources to a given call, and do not require the set-up and tear-down of physical connections between a sender and receiver of data. In general, a data flow in packet-based approaches is “packetized,” where the data is divided into separate segments of information, and each segment receives “header” information that may provide, for example, source information, destination information, information regarding the number of bits in the packet, priority information, and security information. The packets are then routed to a destination independently based on the header information. The packet flow may include a number of packets or a single packet. Services may be applied to a packet flow such as lawful interception (wire tapping), Virtual Private Networks (VPNs), and firewalls.
The typical communication network today often delivers services through externally provisioned server clusters with different application types running on each. Each server cluster runs an application, such as content filtering/parental controls, payload compression, etc., with the new services being introduced by adding equipment to provide the new service. This introduces more equipment that can fail or that can become entry points for a malicious attack, which makes the overall network error-prone and more susceptible to outages due to weak links. FIG. 1 illustrates a topology of how services are provided today. FIG. 1 includes an access gateway 110, load balancers 112, 114, 116, content charging servers 118, optimization servers 120, web caching servers 122, and Internet 124. Since these services are deployed serially, each packet flow will run sequentially through each server cluster whether or not the service is applied to that subscriber. As a result, the operator has to overprovision hardware and software for each service in order to deploy enough bandwidth for all the sessions to flow through each application as well as the load balancers to manage the traffic. Further, operators cannot control the sequence of delivery with the topology of FIG. 1. Without network intelligence, subscriber awareness is limited, making it virtually impossible to offer customized, tiered services and service packages to subscribers. Additionally, each unnecessary hop can add unwanted propagation delay, which can impact latency-sensitive services, such as voice over IP (VoIP), where gaps or delays in conversations ultimately reduce the value of the service.